/**
 * 脚本创建菜单
 */

import axios from "axios";
const host = "http://192.168.10.167:7090";
const token =
  "ZQtHhi5Zj59LW5SFeYy8nGm08dvEInv0AAgbZTFQVAbpVgvvtyCjquNVfeWIkHBQd4cUumatzS3niRP1frS5zMB2PWtLqHgIzYV27qSso48PvIrLs8hb1RyMRDxlzmj1";

const originParams = {
  remark: "",
  name: "",
  nameEn: "",
  url: "",
  perms: "",
  typeId: 0, // 1696429206184919040 菜单   1696429277706190848 按钮   1899748986814726144 资源  1899748986814726217 资源按钮
  icon: "",
  sort: 0,
  redirect: "", // 跳转地址
  component: "", // 组件文件路径
  activeMenu: "", // 当前激活菜单项的 name，自动高亮父级菜单
  isLink: "", // 是否外链
  isHide: false, // 是否隐藏
  isFull: false, // 是否全屏
  isAffix: false, // 是否固定
  isKeepAlive: false, // 是否缓存
  componentName: "", //组件名称
  isFilter: false, // 是否过滤
  isSort: false, // 是否排序
  fieldName: "", // 字段名
  fieldType: "", // 字段类型
  tableName: "", // 表名
  fieldOperate: "", // 字段操作符 -- 字典值
  fieldValueType: "", // 字段值 1、字典  2、接口 3、自定义
  fieldValue: ""
};

/**
 * 订单管理子项
 */
// const two = [
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "orderName",
//     fieldType: "input",
//     isSort: true,
//     isFilter: true,
//     name: "名称"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "orderCode",
//     fieldType: "input",
//     isSort: true,
//     isFilter: true,
//     name: "订单编号"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "1",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "orderTypeId",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "订单分类"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "2",
//     fieldValue: "",
//     tableName: "pdm_project",
//     fieldName: "province",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "省份"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "2",
//     fieldValue: "",
//     tableName: "pdm_project",
//     fieldName: "city",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "城市"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "1",
//     fieldValue: "",
//     tableName: "pdm_project",
//     fieldName: "sceneId",
//     fieldType: "select",
//     isSort: true,
//     isFilter: true,
//     name: "场景"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "orderTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "下单日期"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "planDeliveryTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "计划发货日期"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "spStatus",
//     fieldType: "select",
//     isSort: true,
//     isFilter: true,
//     name: "审核状态"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "1",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "orderStatus",
//     fieldType: "select",
//     isSort: true,
//     isFilter: true,
//     name: "订单状态"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "1",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "stageId",
//     fieldType: "select",
//     isSort: true,
//     isFilter: true,
//     name: "当前阶段"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "orderDelay",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "订单延期"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "orderDelayTime",
//     fieldType: "input",
//     isSort: true,
//     isFilter: true,
//     name: "延期天数"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "2",
//     fieldValue: "",
//     tableName: "pdm_product",
//     fieldName: "agvType",
//     fieldType: "select",
//     isSort: true,
//     isFilter: true,
//     name: "车型"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_product",
//     fieldName: "agvCount",
//     fieldType: "input",
//     isSort: true,
//     isFilter: true,
//     name: "数量"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "1",
//     fieldValue: "",
//     tableName: "pdm_product",
//     fieldName: "origin",
//     fieldType: "select",
//     isSort: true,
//     isFilter: true,
//     name: "生产位置"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "1",
//     fieldValue: "",
//     tableName: "pdm_product",
//     fieldName: "control",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "主控"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "",
//     fieldValue: "",
//     tableName: "",
//     fieldName: "follow",
//     fieldType: "",
//     isSort: false,
//     isFilter: false,
//     name: "进度跟踪"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "2",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "saleUserId",
//     fieldType: "select",
//     isSort: true,
//     isFilter: true,
//     name: "销售"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "2",
//     fieldValue: "",
//     tableName: "pdm_project_user",
//     fieldName: "headOfDesign",
//     fieldType: "select",
//     isSort: true,
//     isFilter: true,
//     name: "设计主负责人"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "2",
//     fieldValue: "",
//     tableName: "pdm_project_user",
//     fieldName: "electricalDesign",
//     fieldType: "select",
//     isSort: true,
//     isFilter: true,
//     name: "电气设计"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "2",
//     fieldValue: "",
//     tableName: "pdm_project",
//     fieldName: "userId",
//     fieldType: "select",
//     isSort: true,
//     isFilter: true,
//     name: "项目经理"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "2",
//     fieldValue: "",
//     tableName: "pdm_project_user",
//     fieldName: "schemeId",
//     fieldType: "select",
//     isSort: true,
//     isFilter: true,
//     name: "规划设计"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "2",
//     fieldValue: "",
//     tableName: "pdm_project_user",
//     fieldName: "developId",
//     fieldType: "select",
//     isSort: true,
//     isFilter: true,
//     name: "软件开发"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "2",
//     fieldValue: "",
//     tableName: "pdm_project_user",
//     fieldName: "supportId",
//     fieldType: "select",
//     isSort: true,
//     isFilter: true,
//     name: "技术支持"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "",
//     fieldValue: "",
//     tableName: "",
//     fieldName: "fileList",
//     fieldType: "",
//     isSort: false,
//     isFilter: false,
//     name: "文档"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "mechanicalDesignNumber",
//     fieldType: "input",
//     isSort: true,
//     isFilter: true,
//     name: "总图号"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "planPurchaseTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "提前采购清单下发计划日期"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "purchaseTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "提前采购清单实际下发日期"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "purchaseDelay",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "采购下发延期"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "purchaseDelayTime",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "延期天数"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "planMechanicalDesignTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "机械图计划完成"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "mechanicalDesignTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "机械图实际完成"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "mechanicalDesignDelay",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "图纸下发延期"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "mechanicalDesignDelayTime",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "延期天数"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "planBomTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "BOM 计划完成"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "bomTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "BOM 实际完成"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "bomDelay",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "BOM 下发延期"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "bomDelayTime",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "延期天数"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "planElectricalSchematicsTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "电气原理图计划完成"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "electricalSchematicsTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "电气原理图实际完成"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "electricalSchematicsDelay",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "电气图下发延期"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "electricalSchematicsDelayTime",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "延期天数"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "planWiringDiagramTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "线束图计划完成"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "wiringDiagramTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "线束图实际完成"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "wiringDiagramDelay",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "线束图下发延期"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "wiringDiagramDelayTime",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "延期天数"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "planProductionCompletedTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "制造计划完成（入库）"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "productionCompletedTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "制造实际完成（入库）"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "productionCompletedDelay",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "制造延期"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "productionCompletedDelayTime",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "延期天数"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "deliveryTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "实际发货时间"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "deliveryDelay",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "发货延期"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "deliveryDelayTime",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "延期天数"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "planCustomSoftwareDevelopmentTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "定制软件计划完成"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "customSoftwareDevelopmentTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "定制软件实际完成"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "customSoftwareDevelopmentDelay",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "开发延期"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "customSoftwareDevelopmentDelayTime",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "延期天数"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "planDebugCompletedTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "现场调试计划完成"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "debugCompletedTime",
//     fieldType: "date-picker",
//     isSort: true,
//     isFilter: true,
//     name: "现场调试实际完成"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "debugCompletedDelay",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "现场调试延期"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "3",
//     fieldValue: "",
//     tableName: "pdm_order",
//     fieldName: "debugCompletedDelayTime",
//     fieldType: "select",
//     isSort: false,
//     isFilter: true,
//     name: "延期天数"
//   },
//   {
//     fieldOperate: "",
//     fieldValueType: "",
//     fieldValue: "",
//     tableName: "",
//     fieldName: "implementRecord",
//     fieldType: "",
//     isSort: false,
//     isFilter: false,
//     name: "实施记录"
//   }
// ].map(item => {
//   return {
//     name: item.name,
//     params: {
//       ...originParams,
//       name: item.name,
//       nameEn: "",
//       url: `/order/${item.fieldName}`,
//       typeId: "1899748986814726144",
//       componentName: `${item.fieldName}`,
//       isHide: true,
//       resourceType: "order_source",
//       ...item
//     },
//     children: [
//       {
//         name: "查看",
//         params: {
//           ...originParams,
//           name: "查看",
//           nameEn: "get",
//           url: `/get/${item.fieldName}`,
//           typeId: "1899748986814726217",
//           componentName: `${item.fieldName}`,
//           isHide: true,
//           perms: `sys:${item.fieldName}:get`,
//           resourceType: "order_source"
//         }
//       },
//       {
//         name: "编辑",
//         params: {
//           ...originParams,
//           name: "编辑",
//           nameEn: "edit",
//           url: `/edit/${item.fieldName}`,
//           typeId: "1899748986814726217",
//           componentName: `${item.fieldName}`,
//           isHide: true,
//           perms: `sys:${item.fieldName}:edit`,
//           resourceType: "order_source"
//         }
//       }
//     ]
//   };
// });

// const mainMenu = [
//   {
//     name: "订单管理",
//     params: {
//       ...originParams,
//       name: "订单管理",
//       nameEn: "order",
//       url: "/order",
//       typeId: "1696429206184919040",
//       componentName: "orderNext",
//       icon: "DocumentCopy"
//     },
//     children: [
//       {
//         name: "订单管理",
//         params: {
//           ...originParams,
//           name: "订单管理",
//           nameEn: "order",
//           url: "/order-next",
//           typeId: "1696429206184919040",
//           component: "/order/order/index",
//           componentName: "orderNext",
//           icon: "Document"
//         },
//         children: two
//       },
//       {
//         name: "日报记录",
//         params: {
//           ...originParams,
//           name: "日报记录",
//           nameEn: "daily",
//           url: "/daily-next",
//           typeId: "1696429206184919040",
//           component: "/order/daily/index",
//           componentName: "dailyNext",
//           icon: "Document"
//         }
//       },
//       {
//         name: "问题跟踪",
//         params: {
//           ...originParams,
//           name: "问题跟踪",
//           nameEn: "track",
//           url: "/track-next",
//           typeId: "1696429206184919040",
//           component: "/order/track/index",
//           componentName: "trackNext",
//           icon: "Document"
//         }
//       }
//     ]
//   }
// ];

const three = [
  {
    fieldOperate: "",
    fieldValueType: "3",
    fieldValue: "",
    tableName: "pdm_project",
    fieldName: "planFinishTime",
    fieldType: "date-picker",
    isSort: true,
    isFilter: true,
    name: "计划验收时间"
  },
  {
    fieldOperate: "",
    fieldValueType: "3",
    fieldValue: "",
    tableName: "pdm_project",
    fieldName: "finishTime",
    fieldType: "date-picker",
    isSort: true,
    isFilter: true,
    name: "实际验收时间"
  },
  {
    fieldOperate: "",
    fieldValueType: "3",
    fieldValue: "",
    tableName: "pdm_project",
    fieldName: "projectFinishDelay",
    fieldType: "select",
    isSort: false,
    isFilter: true,
    name: "验收延期"
  },
  {
    fieldOperate: "",
    fieldValueType: "3",
    fieldValue: "",
    tableName: "pdm_project",
    fieldName: "projectFinishDelayTime",
    fieldType: "select",
    isSort: false,
    isFilter: true,
    name: "验收延期天数"
  }
].map(item => {
  return {
    name: item.name,
    params: {
      ...originParams,
      name: item.name,
      nameEn: "",
      url: `/order/${item.fieldName}`,
      typeId: "1899748986814726144",
      componentName: `${item.fieldName}`,
      isHide: true,
      resourceType: "order_source",
      ...item
    },
    children: [
      {
        name: "查看",
        params: {
          ...originParams,
          name: "查看",
          nameEn: "get",
          url: `/get/${item.fieldName}`,
          typeId: "1899748986814726217",
          componentName: `${item.fieldName}`,
          isHide: true,
          perms: `sys:${item.fieldName}:get`,
          resourceType: "order_source"
        }
      },
      {
        name: "编辑",
        params: {
          ...originParams,
          name: "编辑",
          nameEn: "edit",
          url: `/edit/${item.fieldName}`,
          typeId: "1899748986814726217",
          componentName: `${item.fieldName}`,
          isHide: true,
          perms: `sys:${item.fieldName}:edit`,
          resourceType: "order_source"
        }
      }
    ]
  };
});

/**
 * 睡眠函数
 */
const sleep = (time = 1000) => {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve();
    }, time);
  });
};

/**
 * 创建菜单
 *
 */
const createMenu = async params => {
  return await axios.post(`${host}/menu/createMenu`, params, {
    headers: {
      token
    }
  });
};

const create = async (id, list) => {
  for (let i = 0; i < list.length; i++) {
    let { params, children } = list[i];
    params.parentId = id || undefined;
    await sleep(1500);
    const { data } = await createMenu(params);
    console.log(data, params);
    if (children?.length) {
      await create(data.data, children);
    }
  }
};

create("1899995784061911040", three);
